package com.func.domain.award.repository;

import com.func.domain.award.model.aggregate.GiveOutPrizesAggregate;
import com.func.domain.award.model.aggregate.UserAwardRecordAggregate;
import com.func.domain.award.model.entity.DistributeAwardEntity;

/**
 * <p>
 * IAwardRepository
 * </p>
 *
 * @author Simon
 * @version 2025.03.15.1.0.0
 * @description 奖品仓储类
 * @since 2025-03-15
 */

public interface IAwardRepository {

    /**
     * 将中奖记录和task入库
     * @param userAwardRecordAggregate 奖品记录和task的聚合对象
     */
    void saveAwardRecord(UserAwardRecordAggregate userAwardRecordAggregate);

    String queryAwardConfig(Integer awardId);

    String queryAwardKey(Integer awardId);

    void saveGiveOutPrizesAggregate(GiveOutPrizesAggregate giveOutPrizesAggregate);

    void justConsumeAwardRecord(DistributeAwardEntity distributeAwardEntity);
}
